// ==++==
// 
//   
//    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
//   
//    The use and distribution terms for this software are contained in the file
//    named license.txt, which can be found in the root of this distribution.
//    By using this software in any fashion, you are agreeing to be bound by the
//    terms of this license.
//   
//    You must not remove this notice, or any other, from this software.
//   
// 
// ==--==

// NormalizationHelp.h
//
// This file is autogenerated by GenerateNormalizationTables.pl.  These
// are constants used by our tables
//

#ifndef NORMALIZATIONHELP_H_
#define NORMALIZATIONHELP_H_

// Start of unknown code points
const int NORM_FIRST_UNKNOWN_CHARACTER                 = 0x110000;

// Constants used for reading our paging tables
const int NORM_PAGE_NORMAL                            = 0x00;
const int NORM_PAGE_STARTFLAGS                        = 0xfb;
const int NORM_PAGE_UNASSIGNED                        = 0xfb;
const int NORM_PAGE_INVALID                           = 0xfc;
const int NORM_PAGE_CHANGED                           = 0xfd;
const int NORM_PAGE_HIGH_SURROGATE                    = 0xfe;
const int NORM_PAGE_HANGUL                            = 0xff; // (syllables and jamos)

// Constants used to flag our character information
// These are or'd with our character class number
const int NORM_FLAGS_MASK                             = 0xC0;
const int NORM_CLASS_MASK                             = 0x3F;
const int NORM_FLAG_NON_START                         = 0x80;
const int NORM_FLAG_NON_START_COMBINES_WITH_PREVIOUS  = 0xc0;
const int NORM_FLAG_START_MAY_DECOMPOSE               = 0x00;
const int NORM_FLAG_START_MAY_DECOMPOSE_AND_COMBINE   = 0x40;

// Preassigned Special Character Values:
// These special values take the place of characters that would otherwise be class 0 or class 63
const int NORM_CHAR_START                             = 0x00;
const int NORM_CHAR_START_MAY_COMBINE_NON_START       = 0x40;
const int NORM_CHAR_START_MAY_COMBINE_START           = 0x80;
const int NORM_CHAR_START_MAY_COMBINE_PREVIOUS        = 0xc0;
const int NORM_CHAR_ILLEGAL                           = 0xff;
const int NORM_CHAR_DIFFERENT                         = 0xbf;
const int NORM_CHAR_UNASSIGNED                        = 0x7f;

#endif  // NORMALIZATIONHELP_H_
